<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
<ui:composition template="../templates/layout.xhtml">
    <ui:define name="title">Tabla CheckPoint</ui:define>
    <ui:define name="content">
        <p:spacer height="5px"/>
        <p:panel>
            <h:outputText value="Tabla CheckPoint" style="font-size:16px;"/>
        </p:panel>
        <p:spacer height="5px"/>
        <h:form id="frmPrincipal">
            <!-- Panel de búsqueda-->
            <p:panel id="panelBusqueda" header="Búsqueda de CheckPoint">
                <h:panelGrid id="gridBusqueda" columns="15">
                    <p:spacer width="13px"/>
                    <h:outputLabel for="inputDescripcion" value="Usuario"/>
                    <p:inputText id="inputDescripcion" value="#{maestroCheckPointJsfBean.filtroBusqueda.usuarioLogin}"
                                 size="15" maxlength="10"/>
                    <p:spacer width="13px"/>
                    <h:outputLabel for="cmbTipoCuenta" value="Tipo Cuenta"/>
                    <p:selectOneMenu id="cmbTipoCuenta" value="#{maestroCheckPointJsfBean.filtroBusqueda.tipoCuenta}"
                                     effect="fade"  style="width: 150px"
                            >
                        <f:selectItem itemValue="" itemLabel="Todos"/>
                        <f:selectItems value="#{maestroCheckPointJsfBean.allTipoCuenta}"
                                       var="tipoSelect" itemLabel="#{tipoSelect.nombre}" itemValue="#{tipoSelect}"/>
                    </p:selectOneMenu>
                    <p:spacer width="13px"/>
                    <h:outputLabel for="cmbEstado" value="Estado"/>
                    <p:selectOneMenu id="cmbEstado" value="#{maestroCheckPointJsfBean.filtroBusqueda.estado}"
                                     effect="fade"
                            >
                        <f:selectItem itemValue="" itemLabel="Todos"/>
                        <f:selectItems value="#{maestroCheckPointJsfBean.allEstado}"
                                       var="estadoSelect" itemLabel="#{estadoSelect.nombre}" itemValue="#{estadoSelect}"/>
                    </p:selectOneMenu>
                    <p:spacer width="13px"/>
                    <h:outputLabel for="filterMaxFechaRespInicio" value="Fecha Máxima Respuesta"/>
                    <p:calendar id="filterMaxFechaRespInicio"
                                value="#{maestroCheckPointJsfBean.filtroBusqueda.fechaInicio}"
                                size="10" navigator="true" pattern="dd/MM/yyyy"/>
                    <h:outputLabel value="a"/>
                    <p:calendar id="filterMaxFechaRespFin"
                                value="#{maestroCheckPointJsfBean.filtroBusqueda.fechaFin}"
                                size="10" navigator="true" pattern="dd/MM/yyyy"/>


                </h:panelGrid>
                <p:spacer height="3px"/>

                <p:spacer height="3px"/>
                <h:panelGrid id="gridBusqueda3" columns="3">
                    <p:commandButton ajax="true" value="Buscar" id="btnBuscar" icon="ui-icon-search"
                                     actionListener="#{maestroCheckPointJsfBean.findAction}"
                                     update=":frmPrincipal:panelResultados :messages"/>
                    <p:commandButton ajax="true" value="Limpiar" id="btnLimpiar" icon="ui-icon-refresh"
                                     actionListener="#{maestroCheckPointJsfBean.cleanAction}"
                                     update=":frmPrincipal:panelResultados :frmPrincipal:panelBusqueda :messages"/>
                </h:panelGrid>
            </p:panel>

            <p:spacer height="10px"/>

            <!-- Panel de resultados (donde está la tabla)  -->
            <p:panel id="panelResultados" header="Resultados">
                <p:toolbar>
                    <p:toolbarGroup align="left">
                        <p:commandButton id="deleteButton" value="Eliminar"
                                         actionListener="#{maestroCheckPointJsfBean.showDeleteSelectDialog}"
                                         update=":messages">
                            <f:attribute name="tableName" value="tablaRegistros"/>
                            <f:attribute name="dialogName" value="wvDeleteSelectDialog"/>
                        </p:commandButton>
                    </p:toolbarGroup>
                    <p:toolbarGroup align="right">
                        <p:commandButton id="cmdSelectAgrupacion" value="Seleccionar" ajax="true"
                                         actionListener="#{maestroCheckPointJsfBean.selectAll}"
                                         update=":frmPrincipal:panelResultados"/>
                        <p:commandButton id="cmdUnSelectAgrupacion" value="Quitar Selección" ajax="true"
                                         actionListener="#{maestroCheckPointJsfBean.unSelectAll}"
                                         update=":frmPrincipal:panelResultados :messages">
                        </p:commandButton>
                    </p:toolbarGroup>
                </p:toolbar>


                <p:dataTable id="dtCheckPoint" value="#{maestroCheckPointJsfBean.registros}"

                             var="checkPointItem" rowIndexVar="row"
                             rows="10" paginator="true"
                             paginatorPosition="bottom" emptyMessage="No existen registros"
                             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                             rowsPerPageTemplate="5,10,25,50">
                    <p:column headerText="" style="text-align: center;width: 20px">
                        <p:selectBooleanCheckbox value="#{checkPointItem.seleccionado}">
                        </p:selectBooleanCheckbox>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:50px">
                        <f:facet name="header">
                            <h:outputText value="Tipo"/>
                        </f:facet>

                        <h:outputText value="#{checkPointItem.tipo.nombre}"/>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:50px">
                        <f:facet name="header">
                            <h:outputText value="Usuario"/>
                        </f:facet>

                        <h:outputText value="#{checkPointItem.usuarioLogin}"/>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="min-width:100px">
                        <f:facet name="header">
                            <h:outputText value="Nombre de Archivo"/>
                        </f:facet>

                        <h:outputText value="#{checkPointItem.nombreArchivo}"/>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="min-width:200px">
                        <f:facet name="header">
                            <h:outputText value="Comentario"/>
                        </f:facet>
                        <h:outputText value="#{checkPointItem.comentario}"/>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:50px">
                        <f:facet name="header">
                            <h:outputText value="Estado"/>
                        </f:facet>
                        <h:outputText value="#{checkPointItem.estado}"/>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:100px">
                        <f:facet name="header">
                            <h:outputText value="Años"/>
                        </f:facet>
                        <h:outputText value="#{checkPointItem.resumenFecha}"/>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:80px">
                        <f:facet name="header">
                            <h:outputText value="Fecha Contable"/>
                        </f:facet>
                        <h:outputText value="#{checkPointItem.fechaContable}">
                            <f:convertDateTime pattern="dd/MM/yyyy"
                                               timeZone="America/Lima"
                                               type="both"/>
                        </h:outputText>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:80px">
                        <f:facet name="header">
                            <h:outputText value="Agrupaciones"/>
                        </f:facet>
                        <h:outputText value="#{checkPointItem.totalAgrupacion}">
                        </h:outputText>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:80px">
                        <f:facet name="header">
                            <h:outputText value="Cuentas Contables"/>
                        </f:facet>
                        <h:outputText value="#{checkPointItem.totalCuentaContable}">
                        </h:outputText>
                    </p:column>
                    <p:column styleClass="columnLeftTopClass" style="width:80px">
                        <f:facet name="header">
                            <h:outputText value="Fecha de Carga"/>
                        </f:facet>
                        <h:outputText value="#{checkPointItem.fechaCreacion}">
                            <f:convertDateTime pattern="#{messages.label_app_timeFormatLong}"
                                               timeZone="America/Lima"
                                               type="both"/>
                        </h:outputText>
                    </p:column>
                </p:dataTable>
            </p:panel>
        </h:form>
    </ui:define>

    <ui:define name="modal">
        <ui:decorate template="/pages/ui/uiDelete.xhtml">
            <ui:param name="jsfBean" value="#{maestroCheckPointJsfBean}"/>
        </ui:decorate>
    </ui:define>
</ui:composition>
</html>